HAIviz: an interactive dashboard for visualising and integrating healthcare-associated genomic epidemiological data

Existing tools for phylogeographic and epidemiological visualisation primarily provide a macro-geographic view of epidemic and pandemic transmission events but offer little support for detailed investigation of outbreaks in healthcare settings. Here, we present HAIviz, an interactive web-based application designed for integrating and visualising genomic epidemiological information to improve the tracking of healthcare-associated infections (HAIs). HAIviz displays and links the outbreak timeline, building map, phylogenetic tree, patient bed movements, and transmission network on a single interactive dashboard. HAIviz has been developed for bacterial outbreak investigations but can be utilised for general epidemiological investigations focused on built environments for which visualisation to customised maps is required. This paper describes and demonstrates the application of HAIviz for HAI outbreak investigations.

transmission network input, a graph file in DOT format was created to convert the patients' transmission diagram from Roberts et al. (1).

Demonstration dataset 2: Genomic epidemiology of Enterococcus faecium ST78 in a Brisbane hospital
The metadata input was created based on our previously published study (2) listed in supplementary table S2.The patient stay input was generated based on the timeline of patient stay given in the study (2).The transmission network input was created using Outbreaker2 (3) based on genomic single nucleotide polymorphisms (SNPs) and sample collection dates on a cluster of closely related isolates defined using 20 SNPs cut-off.The resulting transmission graph was exported to a DOT-formatted file using igraph R package (4).Detailed transmission analysis was described in Permana et al. (2).

Demonstration dataset 3: The outbreak of Klebsiella pneumoniae ST15 and ST1559 in a Nepal hospital
The metadata input was created based on the previously published supplementary table S1 in Chung et al. (5).The map input was created by adapting the hospital layout image (Figure 1A in Chung et al. (5)) into HAIviz map.Phylogenetic tree input was reconstructed by comparing the published genomes from the study (5).

Performance test
The memory and CPU usage of HAIviz during the visualisation of sample datasets at sizes of 50, 250, 500, 750, and 1000 were recorded on the two major web browsers: Google Chrome and Mozilla Firefox.During the interactive visualisation session, the peak of memory and CPU usage was manually collected from the browser's built-in task manager (Chrome: Task Manager, Firefox: address to `about:processes`).Each session was conducted in a separate new browser tab in private mode for each dataset size.The results were tabulated in the supplementary table S3 and were visualised in supplementary figure S1.The recording file documenting the test is available in the following link: https://www.youtube.com/watch?v=MVQKsO98mfo

Using HAIviz
HAIviz is a single page application (SPA) visualisation tool that runs on the browser.
Users can visualise and explore data by loading their input files or setting up preloaded datasets (can do it on the offline mode only).
HAIviz is deployed at https://haiviz.fordelab.comfor online use.Users can visit the web page using modern browsers (e.g., Google Chrome, Firefox, Microsoft Edge), drag and drop the input files, and instantly create visualisation dashboard.

Tested and compatible with
Use it online

All visualisation processes are performed locally in the user's browser with no data uploaded to the server, ensuring the safety of private data
Users also can use HAIviz offline by serving it through a static file server, such as, but not limited to `serve` Node.js package.

Metadata Local map
The base map from <mapsvg> element.
Location's x and y position from <mapdata> element.

Location1
Location2 A table contains information about the isolates or samples, written in CSV format.No duplicated records in column id and all dates must written in ISO 8601 format (YYYY-MM-DD).
An XML file contains SVG element and location indexes.This file is specific to HAIviz and can be created in page Map Editor.
Example of SVG attributes from a JPGE base image of 1000x1000px.

Mandatory columns (fixed header)
Other columns (optional, user-defined header) HAIviz is showing page Input.Users can click the file input loader or drag and drop the files into the input area.Input file will be parsed and validated, if file is valid, the window's icon in sidemenu in page Dashboard will be activated.A side drawer provides you additional actions or settings related to the current window.

Color columns (optional, [column]:color)
The main application navigation to let you jump between pages.

Dashboard Interface
HAIviz Quick start guide | page 4 HAIviz is showing page Dashboard with map window displayed.Coloured nodes (circles) represent isolates clustered based in their location.Users can click, mouseover, zoom, pan, change the node layout, node size, location text size and download the the visualisation result.
Let you enter and update the name of a location.
Let you zoom in and zoom out the map.
Let you download the map for later usage or load the map directly to HAIviz.
Display the name and the x and y positions of the location.
Let you add a new location and remove the selected location.
To remove or update location name, users can click or drag to select the marker.Mouse over the circle will display the location label.

Creating local map
HAIviz is showing page Map Editor.Users can start creating the map by loading an JPEG or PNG image.When the image file is loaded, users can add, rename, update or remove a location.A final map can be download for HAIviz use.
-For a map to be downloadable, at least one map location must be added.
-Try open the downloaded Map (haivizMap.xml) in a text editor, you even can change the coordinates manually.
-The x and y coordiates follow the input base map image (e.g.x=0 and y=0 will be the very top-left of the image). (!) HAIviz Quick start guide | page 5 Location labeller F i v e q u i c k s t e p s : Zoom controller

Map downloader
Location table

Location logger
Location marker

Interaction And Integration
• HAIviz is showing the integrated and interactive visualisation windows in page Dashboard created from an example dataset.
• To demonstrate integration functionality, five isolates were selected from the table window and were highlighted in the other active windows.
• Selection can also be performed in other windows, such as using an interactive brush on temporal distribution window to create animation.
• Image produced by HAIviz can be saved to an SVG format, enabling quick and flexible editing for report and publication.

Setting up preloaded dataset
When users self-host or use HAIviz offline, they can set up multiple preloaded datasets.This feature allows users to 'permanently' link their input files to HAIviz, avoiding the need to manually re-inputting their input files.
Click View data (in page Home) or select from the preloaded dataset dropdown button (in page Input or Dashboard) to load the all input files to HAIviz.

Data-Driven Documents
React-Grid Layout

Figure S1 :
Figure S1: Peak memory and CPU usage during Haiviz visualization while loading five different dataset sizes (n=50, 250, 500, 750, and 1000) on Chrome and Firefox browsers.Tests were performed on an Apple MacBook Pro 2013 (RAM 8GB, Processor Intel i5) and a MacBook Pro 2022 (RAM 16GB, Processor Apple M2).Symbol x indicates unresponsive alert has been triggered and displayed for more than 1 second.

1 .
Add a location marker.2. Move the marker to the desired coordinate.3. Set the label for the marker.4. Click the 'Update location's name' to update. 5. Repeat steps 1 to 4, then click Download Map.

Table S1 :
Browser compatibility test

Table S2 :
Summary of feature comparison between HAIviz and the existing genomic epidemiological visualisation web applications * * Indicates unresponsive alert has been triggered and displayed for more than 1 second.

xml Example of directory tree of HAIviz build directory Example of preloaded_dataset.json file 1 Create a directory in the preloaded directory then add the input files.
2 HAIviz Quick start guide | page 7 Update the preloaded_ dataset.jsonfileAn example R script to progamratically setup the preloaded datasets is given in the `input_simulation` directory in HAIviz repository : setup_preloaded_dataset.R.3